#include "Config.h"
#include "Script.h"

Script::Script()
{
	_L = lua_open();
	luaL_openlibs(_L);
}

void Script::doFile(const char * fn)
{
	init();
	lua_tinker::dofile(_L, fn);
	_scriptName = fn;
	postInit();
}

void Script::runScript(const char * str)
{
	init();
	lua_tinker::dostring(_L, str);
	postInit();
}

Table Script::getTable()
{
	return Table(_L);
}

Table Script::getTable( int index )
{
	return Table(_L, index);
}

Table Script::getTable( const char * name )
{
	return Table(_L, name);
}

void Script::reload()
{
	lua_close(_L);
	_L = lua_open();
	luaL_openlibs(_L);

	init();
	lua_tinker::dofile(_L, _scriptName.c_str());
	postInit();
}